﻿using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Data;
using System.Collections.Generic;
using System.Reflection;
using System.Linq;
using System.Linq.Expressions;
using System.ComponentModel;
using System;

namespace BLL
{
    public partial class PersonalFinanceDataContext
    {

        //public DataSet SelectFinaceRecord([Parameter(Name = "MemberID", DbType = "Int")] System.Nullable<int> memberID, [Parameter(Name = "ParentPayTypeID", DbType = "Int")] System.Nullable<int> parentPayTypeID, [Parameter(Name = "PayTimeStart", DbType = "DateTime")] System.Nullable<System.DateTime> payTimeStart, [Parameter(Name = "PayTimeEnd", DbType = "DateTime")] System.Nullable<System.DateTime> payTimeEnd, [Parameter(Name = "Amount", DbType = "Decimal")] System.Nullable<decimal> amount, [Parameter(Name = "AmountOperator", DbType = "Int")] System.Nullable<int> amountOperator, [Parameter(Name = "Detail", DbType = "NVarChar(200)")] string detail, [Parameter(Name = "PageIndex", DbType = "Int")] System.Nullable<int> pageIndex, [Parameter(Name = "PageSize", DbType = "Int")] System.Nullable<int> pageSize)
        //{
          
        //}


        [Function(Name = "AnalyzeFinaceRecord")]
        public ISingleResult<AnalyzeFinaceRecordResult> AnalyzeFinaceRecord([Parameter(Name = "MemberID", DbType = "Int")] System.Nullable<int> memberID, [Parameter(Name = "ParentPayTypeID", DbType = "Int")] System.Nullable<int> parentPayTypeID, [Parameter(Name = "PayTimeStart", DbType = "DateTime")] System.Nullable<System.DateTime> payTimeStart, [Parameter(Name = "PayTimeEnd", DbType = "DateTime")] System.Nullable<System.DateTime> payTimeEnd, [Parameter(Name = "Amount", DbType = "Decimal")] System.Nullable<decimal> amount, [Parameter(Name = "AmountOperator", DbType = "Int")] System.Nullable<int> amountOperator, [Parameter(Name = "Detail", DbType = "NVarChar(200)")] string detail, [Parameter(Name = "MainFinaceType", DbType = "Int")] System.Nullable<int> mainFinaceType)
        {
            IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), memberID, parentPayTypeID, payTimeStart, payTimeEnd, amount, amountOperator, detail, mainFinaceType);
            return ((ISingleResult<AnalyzeFinaceRecordResult>)(result.ReturnValue));
        }

    }
}
